#include "factory.h"

std::shared_ptr<AbstractProductA> Factor1::CreatProductA() const
{
	return std::make_shared<ProductA1> ();
}

std::shared_ptr<AbstractProductB> Factor1::CreatProductB() const
{
	return std::make_shared<ProductB1>();
}

std::shared_ptr<AbstractProductA> Factor2::CreatProductA() const
{
	return std::make_shared<ProductA2>();
}

std::shared_ptr<AbstractProductB> Factor2::CreatProductB() const
{
	return std::make_shared<ProductB2>();
}

std::shared_ptr<AbstractProductA> Factor3::CreatProductA() const
{
	return std::make_shared<ProductA3>();
}

std::shared_ptr<AbstractProductB> Factor3::CreatProductB() const
{
	return std::make_shared<ProductB3>();
}